package com.example.takeaway.service;

import com.example.takeaway.model.PageVO;
import com.example.takeaway.model.bo.Specification;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.takeaway.model.dto.SpecificationDTO;
import com.example.takeaway.model.dto.SpecificationEditorDTO;
import com.example.takeaway.model.vo.SpecificationVO;

import java.util.List;

/**
 * <p>
 * 规格表 服务类
 * </p>
 *
 * @author 邢晨旭
 * @since 2023-10-12
 */
public interface SpecificationService extends IService<Specification> {

    /**
     * 新增规格
     * @param param 规格信息
     */
    void addSpecification(SpecificationDTO param);

    /**
     * 根据id修改规格
     * @param param 规格id
     */
    void updateSpecificationById(SpecificationEditorDTO param);

    /**
     * 根据id查询规格
     * @param id 规格id
     * @return 规格信息
     */
    SpecificationVO queryById(Long id);

    /**
     * 根据id删除规格
     * @param id 规格id
     */
    void deleteById(Long id);

    /**
     * 分页查询规格
     * @param page 当前页
     * @param size 每页显示条数
     * @return 规格信息
     */
    PageVO<SpecificationVO> queryPage(Integer page, Integer size);

    List<SpecificationVO> queryList();
}
